package com.example.hospital_208.controller;

import com.example.hospital_208.po.UserRole;
import com.example.hospital_208.service.UserRoleService;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@CrossOrigin(origins = "*")
@RestController
@RequestMapping("/user-roles") // 接口根路径
public class UserRoleController {

    private final UserRoleService userRoleService;

    // 构造器注入（推荐方式，避免空指针）
    public UserRoleController(UserRoleService userRoleService) {
        this.userRoleService = userRoleService;
    }

    // 1. 查询所有角色 → GET /user-roles
    @GetMapping
    public List<UserRole> listAll() {
        return userRoleService.listAllRoles();
    }

    // 2. 根据 ID 查询角色 → GET /user-roles/{role_id}
    @GetMapping("/{role_id}")
    public UserRole getById(@PathVariable String role_id) {
        return userRoleService.getRoleById(role_id);
    }

    // 3. 新增角色 → POST /user-roles（请求体传 JSON）
    @PostMapping
    public String add(@RequestBody UserRole userRole) {
        return userRoleService.addRole(userRole) ? "添加成功" : "添加失败";
    }

    // 4. 修改角色 → PUT /user-roles（请求体传 JSON）
    @PutMapping
    public String update(@RequestBody UserRole userRole) {
        return userRoleService.updateRole(userRole) ? "更新成功" : "更新失败";
    }

    // 5. 删除角色 → DELETE /user-roles/{role_id}
    @DeleteMapping("/{role_id}")
    public String delete(@PathVariable String role_id) {
        return userRoleService.deleteRole(role_id) ? "删除成功" : "删除失败";
    }
}